package com.ocom.company.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ocom.common.entity.master.EntityMngUserInfo;
import com.ocom.company.vo.GetCompanyListByPhoneVo;
import com.ocom.common.vo.company.GetMngUserInfoVo;

import java.util.List;
import java.util.Map;


public interface MngUserInfoService extends IService<EntityMngUserInfo> {

    /**获取管理员用户信息*/
    public EntityMngUserInfo GetMngUserInfo(Long comId, GetMngUserInfoVo getMngUserInfoVo);

    //再根据list1.p_id查询表 mng_user_info as list3（list1.p_id=list3.id）
    public EntityMngUserInfo GetMngUserInfo(Long pId);

    /**获取管理员用户信息*/
    public EntityMngUserInfo GetMngUserInfoByName(String userName);

    /**
     * 获取单位下用户数
     * */
    public Map<String,Object> GetCompanyPersonNum(Long comId, String deptId, Long status);

    /**
     * 校验用户名称是否唯一
     *
     * @param userName 用户名称
     * @return 结果
     */
    public String checkUserNameUnique(String userName);

    /**在mng_user_info新增用户*/
    public Map<String, Object> AddCompanyAdminInfo(EntityMngUserInfo entityMngUserInfo);

    /**
     * 更新管理员信息
     * */
    public Map<String, Object> UpdateMngUserInfo(EntityMngUserInfo entityMngUserInfo);

    /**
     * 根据手机号获取管理员用户列表（/getMngUserInfoByPhone）
     *
     * @return*/
    public EntityMngUserInfo GetMngUserInfoByPhone(Long comId,String phone);


    /**
     * 2.21.手机号获取可管理单位（getCompanyListByPhone）
     * */
    public List<GetCompanyListByPhoneVo> GetCompanyListByPhone(String phone);


    /**获取管理员用户信息*/
    public List<EntityMngUserInfo> getMngUserList(List<Long> ids);

    EntityMngUserInfo getUserByNameAndRole(String account, String role);

    List<EntityMngUserInfo> getUserByRole(Long companyId,Long role,Long deptId);

    List<EntityMngUserInfo> getMngUserList(Long comId, List<Long> roleIds,List<Long> deptIds);
}
